package com.fanrui.code.entity;

import java.util.ArrayList;
import java.util.List;

public class MahjongTableConfigExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Integer limit;

    private Integer offset;

    public MahjongTableConfigExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setLimit(Integer limit) {
        this.limit = limit;
    }

    public Integer getLimit() {
        return limit;
    }

    public void setOffset(Integer offset) {
        this.offset = offset;
    }

    public Integer getOffset() {
        return offset;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(Integer value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(Integer value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(Integer value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(Integer value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(Integer value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<Integer> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<Integer> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(Integer value1, Integer value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(Integer value1, Integer value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andTableLevelIsNull() {
            addCriterion("table_level is null");
            return (Criteria) this;
        }

        public Criteria andTableLevelIsNotNull() {
            addCriterion("table_level is not null");
            return (Criteria) this;
        }

        public Criteria andTableLevelEqualTo(Integer value) {
            addCriterion("table_level =", value, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andTableLevelNotEqualTo(Integer value) {
            addCriterion("table_level <>", value, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andTableLevelGreaterThan(Integer value) {
            addCriterion("table_level >", value, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andTableLevelGreaterThanOrEqualTo(Integer value) {
            addCriterion("table_level >=", value, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andTableLevelLessThan(Integer value) {
            addCriterion("table_level <", value, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andTableLevelLessThanOrEqualTo(Integer value) {
            addCriterion("table_level <=", value, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andTableLevelIn(List<Integer> values) {
            addCriterion("table_level in", values, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andTableLevelNotIn(List<Integer> values) {
            addCriterion("table_level not in", values, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andTableLevelBetween(Integer value1, Integer value2) {
            addCriterion("table_level between", value1, value2, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andTableLevelNotBetween(Integer value1, Integer value2) {
            addCriterion("table_level not between", value1, value2, "tableLevel");
            return (Criteria) this;
        }

        public Criteria andEnterLimitIsNull() {
            addCriterion("enter_limit is null");
            return (Criteria) this;
        }

        public Criteria andEnterLimitIsNotNull() {
            addCriterion("enter_limit is not null");
            return (Criteria) this;
        }

        public Criteria andEnterLimitEqualTo(Integer value) {
            addCriterion("enter_limit =", value, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andEnterLimitNotEqualTo(Integer value) {
            addCriterion("enter_limit <>", value, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andEnterLimitGreaterThan(Integer value) {
            addCriterion("enter_limit >", value, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andEnterLimitGreaterThanOrEqualTo(Integer value) {
            addCriterion("enter_limit >=", value, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andEnterLimitLessThan(Integer value) {
            addCriterion("enter_limit <", value, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andEnterLimitLessThanOrEqualTo(Integer value) {
            addCriterion("enter_limit <=", value, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andEnterLimitIn(List<Integer> values) {
            addCriterion("enter_limit in", values, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andEnterLimitNotIn(List<Integer> values) {
            addCriterion("enter_limit not in", values, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andEnterLimitBetween(Integer value1, Integer value2) {
            addCriterion("enter_limit between", value1, value2, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andEnterLimitNotBetween(Integer value1, Integer value2) {
            addCriterion("enter_limit not between", value1, value2, "enterLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitIsNull() {
            addCriterion("leave_limit is null");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitIsNotNull() {
            addCriterion("leave_limit is not null");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitEqualTo(Integer value) {
            addCriterion("leave_limit =", value, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitNotEqualTo(Integer value) {
            addCriterion("leave_limit <>", value, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitGreaterThan(Integer value) {
            addCriterion("leave_limit >", value, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitGreaterThanOrEqualTo(Integer value) {
            addCriterion("leave_limit >=", value, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitLessThan(Integer value) {
            addCriterion("leave_limit <", value, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitLessThanOrEqualTo(Integer value) {
            addCriterion("leave_limit <=", value, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitIn(List<Integer> values) {
            addCriterion("leave_limit in", values, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitNotIn(List<Integer> values) {
            addCriterion("leave_limit not in", values, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitBetween(Integer value1, Integer value2) {
            addCriterion("leave_limit between", value1, value2, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andLeaveLimitNotBetween(Integer value1, Integer value2) {
            addCriterion("leave_limit not between", value1, value2, "leaveLimit");
            return (Criteria) this;
        }

        public Criteria andGameTypeIsNull() {
            addCriterion("game_type is null");
            return (Criteria) this;
        }

        public Criteria andGameTypeIsNotNull() {
            addCriterion("game_type is not null");
            return (Criteria) this;
        }

        public Criteria andGameTypeEqualTo(Integer value) {
            addCriterion("game_type =", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeNotEqualTo(Integer value) {
            addCriterion("game_type <>", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeGreaterThan(Integer value) {
            addCriterion("game_type >", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeGreaterThanOrEqualTo(Integer value) {
            addCriterion("game_type >=", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeLessThan(Integer value) {
            addCriterion("game_type <", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeLessThanOrEqualTo(Integer value) {
            addCriterion("game_type <=", value, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeIn(List<Integer> values) {
            addCriterion("game_type in", values, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeNotIn(List<Integer> values) {
            addCriterion("game_type not in", values, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeBetween(Integer value1, Integer value2) {
            addCriterion("game_type between", value1, value2, "gameType");
            return (Criteria) this;
        }

        public Criteria andGameTypeNotBetween(Integer value1, Integer value2) {
            addCriterion("game_type not between", value1, value2, "gameType");
            return (Criteria) this;
        }

        public Criteria andLocalLimitIsNull() {
            addCriterion("local_limit is null");
            return (Criteria) this;
        }

        public Criteria andLocalLimitIsNotNull() {
            addCriterion("local_limit is not null");
            return (Criteria) this;
        }

        public Criteria andLocalLimitEqualTo(Integer value) {
            addCriterion("local_limit =", value, "localLimit");
            return (Criteria) this;
        }

        public Criteria andLocalLimitNotEqualTo(Integer value) {
            addCriterion("local_limit <>", value, "localLimit");
            return (Criteria) this;
        }

        public Criteria andLocalLimitGreaterThan(Integer value) {
            addCriterion("local_limit >", value, "localLimit");
            return (Criteria) this;
        }

        public Criteria andLocalLimitGreaterThanOrEqualTo(Integer value) {
            addCriterion("local_limit >=", value, "localLimit");
            return (Criteria) this;
        }

        public Criteria andLocalLimitLessThan(Integer value) {
            addCriterion("local_limit <", value, "localLimit");
            return (Criteria) this;
        }

        public Criteria andLocalLimitLessThanOrEqualTo(Integer value) {
            addCriterion("local_limit <=", value, "localLimit");
            return (Criteria) this;
        }

        public Criteria andLocalLimitIn(List<Integer> values) {
            addCriterion("local_limit in", values, "localLimit");
            return (Criteria) this;
        }

        public Criteria andLocalLimitNotIn(List<Integer> values) {
            addCriterion("local_limit not in", values, "localLimit");
            return (Criteria) this;
        }

        public Criteria andLocalLimitBetween(Integer value1, Integer value2) {
            addCriterion("local_limit between", value1, value2, "localLimit");
            return (Criteria) this;
        }

        public Criteria andLocalLimitNotBetween(Integer value1, Integer value2) {
            addCriterion("local_limit not between", value1, value2, "localLimit");
            return (Criteria) this;
        }

        public Criteria andMaxPersonIsNull() {
            addCriterion("max_person is null");
            return (Criteria) this;
        }

        public Criteria andMaxPersonIsNotNull() {
            addCriterion("max_person is not null");
            return (Criteria) this;
        }

        public Criteria andMaxPersonEqualTo(Integer value) {
            addCriterion("max_person =", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonNotEqualTo(Integer value) {
            addCriterion("max_person <>", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonGreaterThan(Integer value) {
            addCriterion("max_person >", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonGreaterThanOrEqualTo(Integer value) {
            addCriterion("max_person >=", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonLessThan(Integer value) {
            addCriterion("max_person <", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonLessThanOrEqualTo(Integer value) {
            addCriterion("max_person <=", value, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonIn(List<Integer> values) {
            addCriterion("max_person in", values, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonNotIn(List<Integer> values) {
            addCriterion("max_person not in", values, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonBetween(Integer value1, Integer value2) {
            addCriterion("max_person between", value1, value2, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andMaxPersonNotBetween(Integer value1, Integer value2) {
            addCriterion("max_person not between", value1, value2, "maxPerson");
            return (Criteria) this;
        }

        public Criteria andFanJingIsNull() {
            addCriterion("fan_jing is null");
            return (Criteria) this;
        }

        public Criteria andFanJingIsNotNull() {
            addCriterion("fan_jing is not null");
            return (Criteria) this;
        }

        public Criteria andFanJingEqualTo(Integer value) {
            addCriterion("fan_jing =", value, "fanJing");
            return (Criteria) this;
        }

        public Criteria andFanJingNotEqualTo(Integer value) {
            addCriterion("fan_jing <>", value, "fanJing");
            return (Criteria) this;
        }

        public Criteria andFanJingGreaterThan(Integer value) {
            addCriterion("fan_jing >", value, "fanJing");
            return (Criteria) this;
        }

        public Criteria andFanJingGreaterThanOrEqualTo(Integer value) {
            addCriterion("fan_jing >=", value, "fanJing");
            return (Criteria) this;
        }

        public Criteria andFanJingLessThan(Integer value) {
            addCriterion("fan_jing <", value, "fanJing");
            return (Criteria) this;
        }

        public Criteria andFanJingLessThanOrEqualTo(Integer value) {
            addCriterion("fan_jing <=", value, "fanJing");
            return (Criteria) this;
        }

        public Criteria andFanJingIn(List<Integer> values) {
            addCriterion("fan_jing in", values, "fanJing");
            return (Criteria) this;
        }

        public Criteria andFanJingNotIn(List<Integer> values) {
            addCriterion("fan_jing not in", values, "fanJing");
            return (Criteria) this;
        }

        public Criteria andFanJingBetween(Integer value1, Integer value2) {
            addCriterion("fan_jing between", value1, value2, "fanJing");
            return (Criteria) this;
        }

        public Criteria andFanJingNotBetween(Integer value1, Integer value2) {
            addCriterion("fan_jing not between", value1, value2, "fanJing");
            return (Criteria) this;
        }

        public Criteria andHuMethodIsNull() {
            addCriterion("hu_method is null");
            return (Criteria) this;
        }

        public Criteria andHuMethodIsNotNull() {
            addCriterion("hu_method is not null");
            return (Criteria) this;
        }

        public Criteria andHuMethodEqualTo(Integer value) {
            addCriterion("hu_method =", value, "huMethod");
            return (Criteria) this;
        }

        public Criteria andHuMethodNotEqualTo(Integer value) {
            addCriterion("hu_method <>", value, "huMethod");
            return (Criteria) this;
        }

        public Criteria andHuMethodGreaterThan(Integer value) {
            addCriterion("hu_method >", value, "huMethod");
            return (Criteria) this;
        }

        public Criteria andHuMethodGreaterThanOrEqualTo(Integer value) {
            addCriterion("hu_method >=", value, "huMethod");
            return (Criteria) this;
        }

        public Criteria andHuMethodLessThan(Integer value) {
            addCriterion("hu_method <", value, "huMethod");
            return (Criteria) this;
        }

        public Criteria andHuMethodLessThanOrEqualTo(Integer value) {
            addCriterion("hu_method <=", value, "huMethod");
            return (Criteria) this;
        }

        public Criteria andHuMethodIn(List<Integer> values) {
            addCriterion("hu_method in", values, "huMethod");
            return (Criteria) this;
        }

        public Criteria andHuMethodNotIn(List<Integer> values) {
            addCriterion("hu_method not in", values, "huMethod");
            return (Criteria) this;
        }

        public Criteria andHuMethodBetween(Integer value1, Integer value2) {
            addCriterion("hu_method between", value1, value2, "huMethod");
            return (Criteria) this;
        }

        public Criteria andHuMethodNotBetween(Integer value1, Integer value2) {
            addCriterion("hu_method not between", value1, value2, "huMethod");
            return (Criteria) this;
        }

        public Criteria andZhuangIsNull() {
            addCriterion("zhuang is null");
            return (Criteria) this;
        }

        public Criteria andZhuangIsNotNull() {
            addCriterion("zhuang is not null");
            return (Criteria) this;
        }

        public Criteria andZhuangEqualTo(Boolean value) {
            addCriterion("zhuang =", value, "zhuang");
            return (Criteria) this;
        }

        public Criteria andZhuangNotEqualTo(Boolean value) {
            addCriterion("zhuang <>", value, "zhuang");
            return (Criteria) this;
        }

        public Criteria andZhuangGreaterThan(Boolean value) {
            addCriterion("zhuang >", value, "zhuang");
            return (Criteria) this;
        }

        public Criteria andZhuangGreaterThanOrEqualTo(Boolean value) {
            addCriterion("zhuang >=", value, "zhuang");
            return (Criteria) this;
        }

        public Criteria andZhuangLessThan(Boolean value) {
            addCriterion("zhuang <", value, "zhuang");
            return (Criteria) this;
        }

        public Criteria andZhuangLessThanOrEqualTo(Boolean value) {
            addCriterion("zhuang <=", value, "zhuang");
            return (Criteria) this;
        }

        public Criteria andZhuangIn(List<Boolean> values) {
            addCriterion("zhuang in", values, "zhuang");
            return (Criteria) this;
        }

        public Criteria andZhuangNotIn(List<Boolean> values) {
            addCriterion("zhuang not in", values, "zhuang");
            return (Criteria) this;
        }

        public Criteria andZhuangBetween(Boolean value1, Boolean value2) {
            addCriterion("zhuang between", value1, value2, "zhuang");
            return (Criteria) this;
        }

        public Criteria andZhuangNotBetween(Boolean value1, Boolean value2) {
            addCriterion("zhuang not between", value1, value2, "zhuang");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleIsNull() {
            addCriterion("ganzhou_play_style is null");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleIsNotNull() {
            addCriterion("ganzhou_play_style is not null");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleEqualTo(String value) {
            addCriterion("ganzhou_play_style =", value, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleNotEqualTo(String value) {
            addCriterion("ganzhou_play_style <>", value, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleGreaterThan(String value) {
            addCriterion("ganzhou_play_style >", value, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleGreaterThanOrEqualTo(String value) {
            addCriterion("ganzhou_play_style >=", value, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleLessThan(String value) {
            addCriterion("ganzhou_play_style <", value, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleLessThanOrEqualTo(String value) {
            addCriterion("ganzhou_play_style <=", value, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleLike(String value) {
            addCriterion("ganzhou_play_style like", value, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleNotLike(String value) {
            addCriterion("ganzhou_play_style not like", value, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleIn(List<String> values) {
            addCriterion("ganzhou_play_style in", values, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleNotIn(List<String> values) {
            addCriterion("ganzhou_play_style not in", values, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleBetween(String value1, String value2) {
            addCriterion("ganzhou_play_style between", value1, value2, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andGanzhouPlayStyleNotBetween(String value1, String value2) {
            addCriterion("ganzhou_play_style not between", value1, value2, "ganzhouPlayStyle");
            return (Criteria) this;
        }

        public Criteria andSameIpIsNull() {
            addCriterion("same_ip is null");
            return (Criteria) this;
        }

        public Criteria andSameIpIsNotNull() {
            addCriterion("same_ip is not null");
            return (Criteria) this;
        }

        public Criteria andSameIpEqualTo(Boolean value) {
            addCriterion("same_ip =", value, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSameIpNotEqualTo(Boolean value) {
            addCriterion("same_ip <>", value, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSameIpGreaterThan(Boolean value) {
            addCriterion("same_ip >", value, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSameIpGreaterThanOrEqualTo(Boolean value) {
            addCriterion("same_ip >=", value, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSameIpLessThan(Boolean value) {
            addCriterion("same_ip <", value, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSameIpLessThanOrEqualTo(Boolean value) {
            addCriterion("same_ip <=", value, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSameIpIn(List<Boolean> values) {
            addCriterion("same_ip in", values, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSameIpNotIn(List<Boolean> values) {
            addCriterion("same_ip not in", values, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSameIpBetween(Boolean value1, Boolean value2) {
            addCriterion("same_ip between", value1, value2, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSameIpNotBetween(Boolean value1, Boolean value2) {
            addCriterion("same_ip not between", value1, value2, "sameIp");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceIsNull() {
            addCriterion("safe_distance is null");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceIsNotNull() {
            addCriterion("safe_distance is not null");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceEqualTo(Long value) {
            addCriterion("safe_distance =", value, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceNotEqualTo(Long value) {
            addCriterion("safe_distance <>", value, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceGreaterThan(Long value) {
            addCriterion("safe_distance >", value, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceGreaterThanOrEqualTo(Long value) {
            addCriterion("safe_distance >=", value, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceLessThan(Long value) {
            addCriterion("safe_distance <", value, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceLessThanOrEqualTo(Long value) {
            addCriterion("safe_distance <=", value, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceIn(List<Long> values) {
            addCriterion("safe_distance in", values, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceNotIn(List<Long> values) {
            addCriterion("safe_distance not in", values, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceBetween(Long value1, Long value2) {
            addCriterion("safe_distance between", value1, value2, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andSafeDistanceNotBetween(Long value1, Long value2) {
            addCriterion("safe_distance not between", value1, value2, "safeDistance");
            return (Criteria) this;
        }

        public Criteria andBuyMaIsNull() {
            addCriterion("buy_ma is null");
            return (Criteria) this;
        }

        public Criteria andBuyMaIsNotNull() {
            addCriterion("buy_ma is not null");
            return (Criteria) this;
        }

        public Criteria andBuyMaEqualTo(Integer value) {
            addCriterion("buy_ma =", value, "buyMa");
            return (Criteria) this;
        }

        public Criteria andBuyMaNotEqualTo(Integer value) {
            addCriterion("buy_ma <>", value, "buyMa");
            return (Criteria) this;
        }

        public Criteria andBuyMaGreaterThan(Integer value) {
            addCriterion("buy_ma >", value, "buyMa");
            return (Criteria) this;
        }

        public Criteria andBuyMaGreaterThanOrEqualTo(Integer value) {
            addCriterion("buy_ma >=", value, "buyMa");
            return (Criteria) this;
        }

        public Criteria andBuyMaLessThan(Integer value) {
            addCriterion("buy_ma <", value, "buyMa");
            return (Criteria) this;
        }

        public Criteria andBuyMaLessThanOrEqualTo(Integer value) {
            addCriterion("buy_ma <=", value, "buyMa");
            return (Criteria) this;
        }

        public Criteria andBuyMaIn(List<Integer> values) {
            addCriterion("buy_ma in", values, "buyMa");
            return (Criteria) this;
        }

        public Criteria andBuyMaNotIn(List<Integer> values) {
            addCriterion("buy_ma not in", values, "buyMa");
            return (Criteria) this;
        }

        public Criteria andBuyMaBetween(Integer value1, Integer value2) {
            addCriterion("buy_ma between", value1, value2, "buyMa");
            return (Criteria) this;
        }

        public Criteria andBuyMaNotBetween(Integer value1, Integer value2) {
            addCriterion("buy_ma not between", value1, value2, "buyMa");
            return (Criteria) this;
        }

        public Criteria andGuipaiIsNull() {
            addCriterion("guiPai is null");
            return (Criteria) this;
        }

        public Criteria andGuipaiIsNotNull() {
            addCriterion("guiPai is not null");
            return (Criteria) this;
        }

        public Criteria andGuipaiEqualTo(Integer value) {
            addCriterion("guiPai =", value, "guipai");
            return (Criteria) this;
        }

        public Criteria andGuipaiNotEqualTo(Integer value) {
            addCriterion("guiPai <>", value, "guipai");
            return (Criteria) this;
        }

        public Criteria andGuipaiGreaterThan(Integer value) {
            addCriterion("guiPai >", value, "guipai");
            return (Criteria) this;
        }

        public Criteria andGuipaiGreaterThanOrEqualTo(Integer value) {
            addCriterion("guiPai >=", value, "guipai");
            return (Criteria) this;
        }

        public Criteria andGuipaiLessThan(Integer value) {
            addCriterion("guiPai <", value, "guipai");
            return (Criteria) this;
        }

        public Criteria andGuipaiLessThanOrEqualTo(Integer value) {
            addCriterion("guiPai <=", value, "guipai");
            return (Criteria) this;
        }

        public Criteria andGuipaiIn(List<Integer> values) {
            addCriterion("guiPai in", values, "guipai");
            return (Criteria) this;
        }

        public Criteria andGuipaiNotIn(List<Integer> values) {
            addCriterion("guiPai not in", values, "guipai");
            return (Criteria) this;
        }

        public Criteria andGuipaiBetween(Integer value1, Integer value2) {
            addCriterion("guiPai between", value1, value2, "guipai");
            return (Criteria) this;
        }

        public Criteria andGuipaiNotBetween(Integer value1, Integer value2) {
            addCriterion("guiPai not between", value1, value2, "guipai");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleIsNull() {
            addCriterion("baohu_play_style is null");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleIsNotNull() {
            addCriterion("baohu_play_style is not null");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleEqualTo(String value) {
            addCriterion("baohu_play_style =", value, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleNotEqualTo(String value) {
            addCriterion("baohu_play_style <>", value, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleGreaterThan(String value) {
            addCriterion("baohu_play_style >", value, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleGreaterThanOrEqualTo(String value) {
            addCriterion("baohu_play_style >=", value, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleLessThan(String value) {
            addCriterion("baohu_play_style <", value, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleLessThanOrEqualTo(String value) {
            addCriterion("baohu_play_style <=", value, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleLike(String value) {
            addCriterion("baohu_play_style like", value, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleNotLike(String value) {
            addCriterion("baohu_play_style not like", value, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleIn(List<String> values) {
            addCriterion("baohu_play_style in", values, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleNotIn(List<String> values) {
            addCriterion("baohu_play_style not in", values, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleBetween(String value1, String value2) {
            addCriterion("baohu_play_style between", value1, value2, "baohuPlayStyle");
            return (Criteria) this;
        }

        public Criteria andBaohuPlayStyleNotBetween(String value1, String value2) {
            addCriterion("baohu_play_style not between", value1, value2, "baohuPlayStyle");
            return (Criteria) this;
        }
    }

    /**
     */
    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}